# 分类配置
def config_categories():
    return [
        {
            'name': '默认分类',
            'slug': 'default',
            'cover': 'default/category/basis_category.png',
            'parent': None,  # 明确设置为None表示一级分类
            'description': '默认分类',
            'rank': 0  # 分类排序
        },
        {'name': '文章分类',
         'slug': 'articles',
         'cover': 'default/category/article_category.png',
         'parent': None,
         'description': '用于统一文章数据分类，下辖文章分类',
         'rank': 1
         },
        {
            'name': '资源分享',
            'slug': 'resources',
            'cover': 'default/category/resource_category.png',
            'parent': None,
            'description': '用于统一资源分享分类，下辖资源分类',
            'rank': 2
        },
        {
            'name': '情感表达',
            'slug': 'emotions',
            'cover': 'default/category/emotion_category.png',
            'parent': None,
            'description': '用于分享情感表达，下辖多种情感分类',
            'rank': 3
        },
        {'name': 'Python',
         'slug': 'articles-python',
         'cover': 'default/category/article_category.png',
         'parent': '文章分类',
         'description': 'Python相关文章',
         'rank': 11
         },
        {
            'name': 'Django',
            'slug': 'articles-django',
            'cover': 'default/category/article_category.png',
            'parent': '文章分类',
            'description': 'Django相关文章',
            'rank': 11
        },
        {
            'name': '软件测试',
            'slug': 'articles-testing',
            'cover': 'default/category/article_category.png',
            'parent': '文章分类',
            'description': '软件测试相关文章',
            'rank': 11
        },
        {
            'name': '数据库',
            'slug': 'articles-database',
            'cover': 'default/category/article_category.png',
            'parent': '文章分类',
            'description': '数据库相关文章',
            'rank': 11
        },
        {
            'name': 'Linux',
            'slug': 'articles-linux',
            'cover': 'default/category/article_category.png',
            'parent': '文章分类',
            'description': 'Linux相关文章',
            'rank': 11
        },
        {
            'name': '个人随笔',
            'slug': 'articles-book',
            'cover': 'default/category/article_category.png',
            'parent': '文章分类',
            'description': '个人随笔相关文章',
            'rank': 11
        },
        {
            'name': '下载资源',
            'slug': 'resources-download',
            'cover': 'default/resource/resource_default.png',
            'parent': '资源分享',  # 使用父分类名称
            'description': '用于统一默认资源分类，下辖下载、网址导航、工具推荐',
            'rank': 21
        },
        {
            'name': '网址导航',
            'slug': 'resources-nav',
            'cover': 'default/resource/resource_default.png',
            'parent': '资源分享',
            'description': '用于分享网址导航，下辖常用网址分类',
            'rank': 22
        },
        {
            'name': '工具推荐',
            'slug': 'resources-tools',
            'cover': 'default/resource/resource_default.png',
            'parent': '资源分享',
            'description': '用于统一工具分享分类，下辖常用工具分类',
            'rank': 23
        },
        {
            'name': '软件测试',
            'slug': 'resources-nav-testing',
            'cover': 'default/resource/resource_default.png',
            'parent': '网址导航',
            'description': '用于分享软件测试网站，下辖常用测试分类',
            'rank': 211
        },
        {
            'name': '导航网址',
            'slug': 'resources-nav-common',
            'cover': 'default/resource/resource_default.png',
            'parent': '网址导航',
            'description': '用于分享常用网址，下辖常用网址分类',
            'rank': 211
        },
        {
            'name': '博客论坛',
            'slug': 'resources-nav-blog',
            'cover': 'default/resource/resource_default.png',
            'parent': '网址导航',
            'description': '用于分享博客论坛网站，下辖常用博客论坛分类',
            'rank': 211
        },

        {
            'name': '开发工具',
            'slug': 'resources-tools-dev',
            'cover': 'default/resource/resource_default.png',
            'parent': '工具推荐',
            'description': '用于分享开发工具，下辖常用开发工具分类',
            'rank': 231
        },
        {
            'name': '本站工具',
            'slug': 'resources-tools-blog',
            'cover': 'default/resource/resource_default.png',
            'parent': '工具推荐',
            'description': '用于分享本站工具，下辖本站工具分类',
            'rank': 231
        },
        {
            'name': 'AI工具',
            'slug': 'resources-tools-ai',
            'cover': 'default/resource/resource_default.png',
            'parent': '工具推荐',
            'description': '用于分享AI工具，下辖AI工具分类',
            'rank': 231
        },
        {
            'name': '测试工具',
            'slug': 'resources-tools-dev-test',
            'cover': 'default/resource/resource_default.png',
            'parent': '工具推荐',
            'description': '用于分享测试工具，下辖测试工具分类',
            'rank': 231
        },

    ]


# 友情链接
def config_links():
    return [
        {'name': 'CTBloge',
         'url': 'https://www.ctbloge.top/',
         'logo_url': 'https://www.ctbloge.top/media/default/blog/logo.png',
         'description': 'Django博客：岁月有理想，与你同在。'
         },
        {'name': '杨青青博客',
         'url': 'http://www.smtlib.com/',
         'logo_url': '',
         'description': '前端博客：分享前端技术，分享生活。'
         },
        {'name': 'TendCode',
         'url': 'https://tendcode.com/',
         'logo_url': 'https://tendcode.com/media/friend/upload/2023/hopetree.com_HLeHB6W.png',
         'description': 'Tend to Code，学习技术，分享技术！'
         },
        {'name': '未雨晴空',
         'url': 'https://www.oneisall.top/',
         'logo_url': 'https://www.oneisall.top/static/images/avatar.jpg',
         'description': 'Django博客：执着于理想，纯粹于当下。'
         },
        {'name': '何三笔记',
         'url': 'https://www.h3blog.com/',
         'logo_url': '',
         'description': 'flask 搭建的博客，python 技术文章'
         },
    ]


# 资源下载
def config_resource_downloads():
    return [
        {'title': '默认资源',
         'desc': '这是一个默认的资源描述',
         'content': '默认资源,并没有什么特殊的地方',
         'file': 'default/resource/resource_default.png',
         'file_type': 'doc'
         }]


# 资源导航
def config_resource_navsites():
    return [
        {
            'name': '程序员一站式导航',
            'site_url': 'http://www.cxy521.com/',
            'desc': 'CXY521 专注程序员一站式导航，提供最精华有趣的内容 。',
            'icon': 'http://www.cxy521.com/static/img/logo.png',
            'image': '',
            'category': '导航网址'
        },
        {
            'name': '测试之家',
            'site_url': 'https://testerhome.com/',
            'desc': '测试之家（TesterHome）由一线测试工程师发起和运营，社区的主旨是公益，开源，分享，落地。 社区以推进国内软件测试开源为己任，不遗余力的引入和输出国内外测试工具，紧跟流行技术，是软件测试行业的风向标。',
            'icon': '',
            'image': 'default/resource/favsites/testerhome.png',
            'category': '软件测试',
        },
        {
            'name': 'hellogithub',
            'site_url': 'https://hellogithub.com/',
            'desc': 'hellogithub 是一个帮助开发者更好地掌握 GitHub 平台的网站。',
            'icon': '',
            'image': 'default/resource/favsites/hellogithub.png',
            'category': '博客论坛',
        },
        {
            'site_url': 'https://16map.com/',
            'name': '一流导航',
            'desc': '设计师必备的网站导航，提供设计师必备的网站导航，包括网页设计、平面设计、插画、动效、音效、3D、UI等。',
            'icon': 'https://16map.com/wp-content/themes/16map/img/h-logo.png',
            'image': '',
            'category': '导航网址'
        },
        {
            'name': 'Linux命令大全',
            'site_url': 'https://www.linuxcool.com/',
            'desc': 'Linux命令大全，提供Linux命令大全，包括常用命令、系统管理命令、网络管理命令、文件管理命令等。',
            'icon': 'https://www.linuxcool.com/wp-content/uploads/2020/02/Linux命令大全.jpg',
            'image': '',
            'category': '导航网址'
        },
    ]


# 资源工具
def config_resource_tools():
    return [
        {
            'name': 'Ctool常用工具',
            'desc': 'Ctool常用工具，提供各种开发工具，如代码格式化、ip地址查询、正则表达式等。',
            'link': 'https://baiy.github.io/Ctool/',
            'route': None,
            'is_official': False,
            'category': '开发工具'
        },
        {
            'name': 'AI工具集',
            'desc': 'AI工具集，提供各种AI开发工具，如图像处理、文本处理、语音处理等。',
            'link': 'https://ai-bot.cn/',
            'route': None,
            'is_official': False,
            'category': 'AI工具'
        },
        {
            'name': '阿里图标库',
            'desc': '阿里图标库，提供丰富的矢量图标。',
            'link': 'https://www.iconfont.cn/',
            'route': None,
            'is_official': False,
            'category': '开发工具'
        },
        {
            'name': '开发者武器库',
            'desc': '开发者武器库，提供各种开发工具，如代码格式化、代码压缩、代码搜索、代码生成等。',
            'link': 'https://devtool.tech/',
            'route': None,
            'is_official': False,
            'category': '开发工具'
        },
        {
            'name': '在线工具',
            'desc': '在线工具，提供各种开发工具，如代码格式化、代码压缩、代码搜索、代码生成等。',
            'link': 'https://tool.lu/',
            'route': None,
            'is_official': False,
            'category': '开发工具'
        },
        {
            'name': '图片压缩',
            'desc': '图片压缩工具，压缩图片大小，提高网站加载速度。',
            'link': None,
            'route': 'tools/zip-image',
            'is_official': True,
            'category': '本站工具'
        },
        {
            'name': 'Base64编解码',
            'desc': 'Base64 编码解码工具，用于在线编码、解码。',
            'link': None,
            'route': 'tools/base64',
            'is_official': True,
            'category': '本站工具'
        },
        {
            'name': '正则表达式',
            'desc': '正则表达式工具，用于在线正则表达式测试。',
            'link': None,
            'route': 'tools/regex',
            'is_official': True,
            'category': '本站工具'
        },
        {
            'name': '百度站长推送',
            'desc': '百度站长推送工具，用于网站SEO优化。',
            'link': None,
            'route': 'tools/baidu-push',
            'is_official': True,
            'category': '本站工具'
        },
        {
            'name': 'IP地址查询',
            'desc': 'IP地址查询工具，用于查询IP地址信息。',
            'link': None,
            'route': 'tools/ip-query',
            'is_official': True,
            'category': '本站工具'
        },
        {
            'name': 'Cron表达式生成器',
            'desc': 'Cron表达式生成器，用于生成Cron表达式。',
            'link': None,
            'route': 'tools/cron-generator',
            'is_official': True,
            'category': '本站工具'
        },
        {
            'name': '测试数据生成器',
            'desc': '测试数据生成器，用于生成测试数据。',
            'link': 'https://www.mockaroo.com/',
            'route': None,
            'is_official': False,
            'category': '测试工具'
        },
        {
            'name': '在线格式转换',
            'desc': '在线格式转换，用于在线转换各种格式文件。',
            'link': 'https://www.alltoall.net/',
            'route': None,
            'is_official': False,
            'category': '开发工具'
        },
    ]


# 默认公告
def config_default_announcements():
    return [
        {
            'title': '欢迎访问我们的网站！‌',
            'content': '尊敬的访客，感谢您访问我们的网站。我们致力于为您提供最新、最全面的信息，帮助您更好地了解我们的产品和服务。',
            'is_jump': False,
            'jump_url': '',
            'is_system': False,
        },
        {
            'title': '如何联系我们？',
            'content': '访问本站介绍页面，了解联系方式。',
            'is_jump': True,
            'jump_url': 'https://www.ctbloge.top/about/introduce',
            'is_system': True,
        },
        {
            'title': '未来计划',
            'content': '‌我们正在开发新的功能，旨在提升用户体验，敬请期待。',
            'is_jump': False,
            'jump_url': '',
            'is_system': True,
        },
    ]


# 默认轮播图
def config_default_carousel():
    return [
        {
            'name': '心存善意，定能途遇天使。',
            'image': '',
            'url': 'https://picsum.photos/400/600/?random=1',
            'is_enable_url': True,
            'is_show': True,
        },
        {
            'name': '生命是一段旅程，我们要勇敢前行。',
            'image': '',
            'url': 'https://picsum.photos/400/600/?random=2',
            'is_enable_url': True,
            'is_show': True,
        },
        {
            'name': '时间是最好的老师，但要学会控制自己的欲望。',
            'image': '',
            'url': 'https://picsum.photos/400/600/?random=3',
            'is_enable_url': True,
            'is_show': True,
        },
        {
            'name': '昔风不起，唯有努力生存。纵有疾风起，人生不言弃。',
            'image': '',
            'url': 'https://picsum.photos/400/600/?random=4',
            'is_enable_url': True,
            'is_show': True,
        },
        {
            'name': '一切皆有可能，但有些事情，你必须自己去做。',
            'image': '',
            'url': 'https://picsum.photos/400/600/?random=5',
            'is_enable_url': True,
            'is_show': True,
        },
    ]


def config_default_menus():
    return [
        (1, None, '网站首页', '/', 'fa fa-home', 1),
        (2, None, '文章专栏', '/subject', 'fa fa-book', 2),
        (3, None, '文章归档', '/archive', 'fa fa-archive', 3),
        (4, None, '资源分享', '/resource', 'fa fa-suitcase', 4),
        (5, 4, '资源下载', '/resource/download', 'fa fa-download', 41),
        (6, 4, '网址导航', '/resource/navigation', 'fas fa-globe-americas', 42),
        (7, 4, '工具推荐', '/resource/tools', 'fa fa-tools', 43),
        (8, None, '关于本站', '/about', 'fa fa-info-circle', 5),
        (9, 8, '本站介绍', '/about/introduce', 'fa fa-id-card', 51),
        (10, 8, '友情链接', '/about/friendlinks', 'fa fa-link', 52),
        (11, 8, '留言墙', '/about/message', 'fa fa-comment', 53),
    ]


def config_default_tasks():
    return [
        {   'name': '检查友联是否失联',
            'task_function': 'ctbloge.apps.schedulers.tasks.check_links',  # 定时任务函数
            'schedule_type': 'cron',  # 定时任务类型
            'cron': '0 0 * * *',  # 每天凌晨检查一次
            'is_active': True,  # 启用任务
        },
        {   'name': '备份数据库',
            'task_function': 'ctbloge.apps.schedulers.tasks.backup_database',  # 定时任务函数
            'schedule_type': 'cron',  # 定时任务类型
            'cron': '0 0 * * 1',  # 每周一凌晨备份一次
            'is_active': True,  # 启用任务
        },
        {   'name': '导入文章',
            'task_function': 'ctbloge.apps.schedulers.tasks.import_articles_from_md',  # 定时任务函数
            'schedule_type': 'date',  # 定时任务类型
            'cron': '',
            'is_active': True,  # 启用任务
        }
    ]
